/*
 * 文件名：ICellBuildingService.java 版权：Copyright by www.huawei.com 描述： 修改人：Administrator
 * 修改时间：2016年4月7日 跟踪单号： 修改单号： 修改内容：
 */

package com.zcsy.manage.service.base;


import java.util.List;

import com.zcsy.manage.model.base.CellBuilding;


/**
 * @Title: ICellBuildingService.java
 * @Package： com.zcsy.manage.service.base
 * @Description: 小区楼栋service层接口
 * @author lilan 1063972142@qq.com
 * @Copyright: 2015 武汉恒数利通信息技术有限公司 All rights reserved.
 * @date 2016年4月7日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
public interface ICellBuildingService {

    /**
     * @Description 插入小区楼栋
     * @param cellBuilding
     *            小区楼栋对象
     * @return
     * @author lilan 1063972142@qq.com
     * @date 2016年4月7日
     * @see
     */
    int insert(CellBuilding cellBuilding);

    /**
     * @Description 更新小区区域
     * @param cellBuilding
     *            小区区域对象
     * @return
     * @author lilan 1063972142@qq.com
     * @date 2016年4月7日
     * @see
     */
    int update(CellBuilding cellBuilding);

    /**
     * @Description 根据主键id删除小区楼栋
     * @param id
     *            主键id
     * @return
     * @author lilan 1063972142@qq.com
     * @date 2016年4月7日
     * @see
     */
    int deleteByPrimaryKey(String id);

    /**
     * @Description 根据主键id获取小区楼栋详情
     * @param id
     *            主键id
     * @return
     * @author lilan 1063972142@qq.com
     * @date 2016年4月7日
     * @see
     */
    CellBuilding selectByPrimaryKey(String id);

    /**
     * @Description 根据关键字获取小区楼栋列表
     * @param cellBuilding
     *            小区楼栋对象
     * @return
     * @author lilan 1063972142@qq.com
     * @date 2016年4月7日
     * @see
     */
    List<CellBuilding> selectByKeyword(CellBuilding cellBuilding);

    /**
     * @Description 取当前cellId的所有区域子集<br>
     * @param cellId
     *            小区id
     * @return
     * @author caiyl 13277030520@163.com
     * @date 2016年4月7日
     * @see
     */
    List<CellBuilding> getCellBuildingByRegionId(String regionId);

    /**
     * @Description 根据对应的id修改对对应的name,已保持同步<br>
     * @param id
     * @param name
     * @return
     * @author caiyl 13277030520@163.com
     * @date 2016年4月11日
     * @see
     */
    int updateById(String id, String name, int type);

    /**
     * @Description 根据关键字获取小区区域(导入模板用)
     * @param record
     *            小区楼栋对象
     * @return
     * @author xujl
     * @date 2016年4月6日
     * @see
     */
    List<CellBuilding> selectForImport(CellBuilding record);

	/**
	 * @Description 根据排序增加置顶功能<br>
	 * 
	 * @param record 当前小区对象
	 * @return 1：成功 0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年6月3日
	 * @see 
	 */
	int updateSort(CellBuilding record);
	
	/**
	 * @Description 获取该区域下面的楼栋、单元、门牌号<br>
	 * 
	 * @param regionId 区域id
	 * @return 返回该区域下面的楼栋、单元、门牌号
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年6月29日
	 * @see 
	 */
	List<CellBuilding> getBuildingAndUnitAndHouse(String regionId);
	
	/**
     * 查询小区下区域名称是否存在
     * @Method: isNameExists
     * @param buildId 楼栋id
     * @param regionId 区域id
     * @param name 楼栋名称
     * @author hubing
     */
    boolean isNameExists(String buildId, String regionId, String name);
	
}
